package com.molin.controller;

import com.molin.domain.AISortingArray;
import com.molin.service.AISortingService;

import java.util.Scanner;

public class AISortingConntroller {
    AISortingService aiSortingService = new AISortingService();
    AISortingArray aiSortingArray = new AISortingArray();
    Scanner scanner = new Scanner(System.in);

    public void start() {
        System.out.println("欢迎使用AI智能排序！");
        String stringArr = input();
        int[] arr = toArrayList(stringArr);

//      先排序，后查找
        dubbleSort(arr);

//    System.arraycopy(arr,0,aiSortingArray.shortingArray,0,arr.length);
        aiSortingArray.shortingArray = arr;
        sortPrint();

//        查找数字
       int index= fetchIndex(arr);

        System.out.println("查找的数字是"+arr[index]+"下标是"+index);

    }

    private int fetchIndex(int[] arr) {
        System.out.println("请输入想要查找的数字，我们将会返回它的数组下标: ");
        int number =scanner.nextInt();
        return aiSortingService.fetchIndex(arr,number);
    }

    private void sortPrint() {
        System.out.println("排序完毕! 排序后的数字： ");
        for (int i : aiSortingArray.shortingArray) {
            System.out.print(i + " ");
        }
        System.out.println();
    }

    private void dubbleSort(int[] arr) {
        aiSortingService.dubbleSort(arr);
    }

    private int[] toArrayList(String stringArr) {
        return aiSortingService.toArrayList(stringArr);
    }

    private String input() {
        System.out.println("请输入要排序的字符串（以空格分割）： ");
        Scanner scanner = new Scanner(System.in);
        String s = scanner.nextLine();
        return s;
    }
}
